In the field of inter-process communication using a shared memory, there has been known a technique of enabling reading/writing from both client and server processes, aiming at efficient data access.
In connection with the above-described technique, there has also been proposed a technique of typically allowing exclusive access to a shared memory (see Japanese Laid-Open Patent Publication No. 01-205362).
In the above-described conventional techniques, however, it is assumed that data may be rewritten by a client process, during a period in which a server process checks the safety of data written by the client process into the shared memory, up to the time when the checked data is used. While there has also been known a technique for copying the data in the shared memory into a non-shared memory by the server process, as a countermeasure for the situation, the technique is not efficient because copying takes a long time, and makes the available memory capacity small.
On the other hand, the above-described technique of allowing exclusive access to the shared memory making use of a lock function of the OS (Operating System) generally needs cooperation of the client and server processes, so that the technique lacks efficacy if the client process contains malicious code.